#include <bits/stdc++.h>

using namespace std;

const int N = 2e5 + 10;
int n;
long long a[N];
long long l[N],r[N];
int sx[N];
int tx;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[i];

    a[n+1] = INT_MIN;
    sx[0] = 0;
    for(int i = 1; i<= n + 1; i++){
        while(tx && a[sx[tx]] > a[i]){
            r[sx[tx]] = i - sx[tx];
            l[sx[tx]] = sx[tx] - sx[tx - 1]; 
            tx--;
        }

        sx[++ tx] = i;
    }
    // for(int i = 1; i<=n; i++)
    // cout <<"l[i]:" <<l[i] << " r[i]:" << r[i] <<'\n';
    
    long long ans = 0;
    for(int i = 1; i<=n; i++)
    ans += a[i] * r[i] * l[i];
    cout <<  ans;
   return 0;
}
